As computing devices and electronic communication networks continue to proliferate in a variety of forms, information security remains an important concern. Cryptographic techniques are often used to ensure that electronic information is safely delivered to its intended recipient, and to determine whether devices and/or processes requesting access to information or other devices should be granted such access. Public key cryptography is a technique that typically uses two keys: a private key, which remains secret; and a public key, which may be freely disclosed, to define membership in a group of trusted computing devices. While the public key and the private key are related, the private key cannot feasibly be determined from the public key.
Elliptic curve cryptography (ECC) is a class of public key cryptography based on cryptographic operations using elliptic curves over finite fields. ECC operations may be used to perform traditional cryptographic operations including key exchange and digital signature operations. For example, common cryptographic algorithms using ECC operations include elliptic curve Diffie-Hellman (ECDH) for key exchange, the elliptic curve digital signature algorithm (ECDSA) for digital signature sign/verify operations, enhanced privacy ID (EPID) for attestation, and other cryptographic algorithms.